Entrenar un Segmentador
Esta guía le muestra cómo configurar y ajustar la función de segmentación del OV20i para detectar, medir y analizar automáticamente características o defectos específicos en sus piezas. Use segmentación cuando necesite identificar formas irregulares, medir áreas o detectar patrones específicos que no pueden ser manejados por una clasificación simple.
OV20i no dispone de capacidades de segmentación.
Cuándo usar Segmentación: Defectos de superficie, derrames de líquido, formas irregulares, mediciones de área, detección de patrones, o cualquier característica que requiera precisión a nivel de píxel.
Antes de empezar
Lo que necesitará
- Sistema de cámara OV20i configurado y conectado
- Piezas de prueba con las características que desea segmentar (p. ej., láminas con marcas de lápiz)
- Condiciones de iluminación adecuadas para su aplicación específica
- 15-20 imágenes de muestra para el entrenamiento
Paso 1: Crear una Receta de Segmentación
1.1 Crear una Nueva Receta
- Navegue a la página Todas las Recetas
- Haga clic en
+ New Recipe
(esquina superior derecha) - Ingrese el nombre de la Receta: Use un nombre descriptivo como "Detección_de_Marcas_de_Lápiz" o "Segmentación_de_Defectos_de_Superficie"
- Seleccionar Tipo de Receta: Elija "Segmentación" del desplegable
- Haga clic en
OK
para crear
1.2 Activar Receta
- Encuentre su receta en la lista (aparece como "Inactive")
- Haga clic en
Actions > Activate
- Haga clic en
Activate
para confirmar
✅ Resultado: La receta está activa y lista para la configuración.
Paso 2: Acceder al Editor de Recetas
- Haga clic en
Edit
junto a su receta activa - Haga clic en
Open Editor
para confirmar
Ahora verá el Editor de Recetas con opciones específicas de segmentación.
Paso 3: Configurar Configuración de la Cámara
3.1 Abrir Configuración de Imágenes
- Haga clic en
Configure Imaging
(lado inferior izquierdo)
3.2 Optimizar Enfoque para Segmentación
El enfoque es crucial para una detección de bordes precisa:
- Coloque la pieza de prueba en la vista de la cámara
- Ajuste el Enfoque hasta que los bordes estén nítidos y claros
- Pruebe con diferentes piezas para asegurar un enfoque consistente a lo largo de su rango
- Enfoque en la superficie donde aparecerán defectos/características
- Asegúrese de que toda el área de interés esté en enfoque nítido
- Un ligero sobreenfoque es mejor que un enfoque suave para la segmentación
3.3 Establecer Exposición Óptima
La exposición adecuada garantiza una detección de características consistente:
- Ajustar Exposición para una iluminación equilibrada
- Evitar áreas sobreexpuestas (regiones de color blanco puro)
- Asegurar que las características sean visibles con buen contraste
Directrices de Exposición para Segmentación:
- Las características deben contrastar claramente con el fondo
- Evitar sombras que podrían confundirse con defectos
- Probar con varias condiciones de la pieza (limpia, sucia, gastada)
3.4 Configurar Patrón de Iluminación LED
Elija la iluminación en función de lo que está segmentando:
Tipo de Característica | Iluminación Recomendada | Por qué |
---|---|---|
Defectos de superficie | Iluminación de campo claro | Iluminación uniforme revela irregularidades de la superficie |
Rasguños/Fisuras | Iluminación lateral | Crea sombras que acentúan defectos lineales |
Relieves | Campo oscuro | Hace que las áreas elevadas se destaquen del fondo |
Derrames | Iluminación lateral | Muestra diferencias de textura superficial |
3.5 Ajustar Gamma para Mejora de Características
- Aumentar Gamma para mejorar el contraste entre las características y el fondo
- Probar diferentes valores mientras visualiza sus características objetivo
- Encontrar la configuración que haga que las características se distingan mejor
3.6 Guardar Configuración
- Revisar la configuración en la vista previa en vivo
- Haga clic en
Save Imaging Settings
✅ Punto de Control: Las características deben ser claramente visibles con buen contraste.
Step 4: Configurar Plantilla y Alineación
4.1 Navegar a la Sección de Plantilla
Haga clic en "Template Image and Alignment" en el menú de migas de pan
4.2 Configurar Alineación (Opcional)
Para este ejemplo, omitiremos la alineación:
- Seleccionar
Skip Aligner
si las piezas están posicionadas de forma consistente - Haga clic en
Save
Cuándo usar el Alineador: Habilítelo cuando las piezas lleguen en posiciones u orientaciones variables que afectarían la precisión de la segmentación.
Step 5: Definir la Región de Inspección
5.1 Navegar a Configuración de Inspección
Haga clic en "Inspection Setup" en el menú de migas de pan
5.2 Definir ROI (Region of Interest)
El ROI define dónde se realizará la segmentación:
- Coloque una pieza de prueba en la vista de la cámara
- Arrastre las esquinas de ROI para encuadrar el área de inspección
- Ajuste el tamaño de ROI de forma adecuada:
- Incluir todas las áreas donde podrían aparecer las características
- Excluir regiones de fondo innecesarias
- Dejar un pequeño margen alrededor de las ubicaciones esperadas de las características
5.3 Mejores Prácticas de ROI para Segmentación
Hacer | No Hacer |
---|---|
Cubrir toda la superficie de inspección | Incluir objetos de fondo irrelevantes |
Dejar espacio de margen alrededor de los bordes | Hacer que ROI sea demasiado pequeño para variación de características |
Considerar variación de posicionamiento de la pieza | Solapar con fijaciones o utillaje |
Probar con las características más grandes esperadas | Incluir áreas con marcas permanentes |
5.4 Guardar Configuración de ROI
- Verificar que ROI cubra todas las áreas objetivo
- Haga clic en
Save
Step 6: Etiquetar Datos de Entrenamiento
6.1 Navegar a Label And Train
Haga clic en "Label And Train" en el menú de migas de pan
6.2 Configurar Clase de Inspección
- Haga clic en
Edit
bajo Inspection Types - Renombrar la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
- Elegir el color de la clase para identificación visual
- Guardar cambios
6.3 Capturar y Etiquetar Imágenes de Entrenamiento
Se necesita un mínimo de 10 imágenes etiquetadas, pero se recomienda de 15 a 20:
Proceso de Captura de Imagen
- Coloque la primera pieza de prueba en el área de inspección
- Tomar una imagen utilizando la interfaz de la cámara
- Usar la herramienta Pincel para pintar sobre las características objetivo
- Pintar con precisión:
- Cubrir por completo el área de la característica
- Mantenerse dentro de los límites de la característica
- No pintar áreas de fondo
- Usar un enfoque de etiquetado coherente
- Haga clic en
Save Annotations
- Repita con la siguiente pieza
Buenas Prácticas de Etiquetado
Buen Etiquetado | Etiquetado Deficiente |
---|---|
Delimitaciones de características precisas | Pintura de bordes desordenada |
Definición de características consistente | Criterios inconsistentes |
Cobertura completa de características | Áreas de características ausentes |
Fondo limpio (no pintado) | Pintado accidental del fondo |
6.4 Variedad de Datos de Entrenamiento
Asegúrese de que su conjunto de entrenamiento incluya:
- Diferentes tamaños de características
- Diversas intensidades de características
- Múltiples ubicaciones dentro de ROI
- Diferentes condiciones de iluminación (si aplica)
- Casos límite y ejemplos limítrofes
6.5 Verificación de la Calidad de los Datos de Entrenamiento
- Revisar todas las imágenes etiquetadas
- Verificar un enfoque de etiquetado consistente
- Eliminar cualquier ejemplo etiquetado incorrectamente
- Agregar más ejemplos si es necesario
Paso 7: Entrenar el Modelo de Segmentación
7.1 Inicio del Proceso de Entrenamiento
- Haga clic en
Return to Live
cuando se haya finalizado el etiquetado - Haga clic en
Train Segmentation Model
7.2 Configurar Parámetros de Entrenamiento
- Establecer el número de iteraciones:
- Entrenamiento rápido: 50-100 iteraciones (5-10 minutos)
- Calidad de producción: 200-500 iteraciones (15-30 minutos)
- Alta precisión: 500+ iteraciones (30+ minutos)
- Haga clic en
Start Training
7.3 Monitorear Progreso del Entrenamiento
El progreso del entrenamiento muestra:
- Número de iteración actual
- Precisión de entrenamiento (%)
- Tiempo estimado de finalización
Controles de Entrenamiento:
- Abort Training: Detener si surgen problemas
- Finish Training Early: Detener cuando la precisión sea suficiente
- La precisión del 85% suele ser adecuada para producción
- El entrenamiento se detiene automáticamente cuando se alcanza la precisión objetivo
- Más datos de entrenamiento suelen ser mejores que más iteraciones
Paso 8: Prueba del Rendimiento de Segmentación
8.1 Acceder a Live Preview
- Haga clic en
Live Preview
después de que se complete el entrenamiento - Pruebe con varias piezas:
- Piezas buenas conocidas (debería mostrar segmentación nula o mínima)
- Piezas defectuosas conocidas (debería resaltar defectos)
- Casos límite y ejemplos limítrofes
8.2 Evaluar Resultados
Verificar la calidad de la segmentación:
Métrica | Buen Rendimiento | Necesita Mejora |
---|---|---|
Precisión | Identifica características reales de forma consistente | Ignora características obvias |
Precisión | Pocos falsos positivos | Muchas áreas de fondo resaltadas |
Calidad de Bordes | Bordes limpios y precisos | Bordes irregulares o imprecisos |
Consistencia | Resultados similares en pruebas repetidas | Resultados altamente variables |
8.3 Solución de Problemas de Resultados Insatisfactorios
Problema | Causa probable | Solución |
---|---|---|
Faltan características | Datos de entrenamiento insuficientes | Agregar más ejemplos etiquetados |
Falsos positivos | Iluminación/contraste deficientes | Mejorar los ajustes de imagen |
Bordes irregulares | Calidad de imagen deficiente | Mejorar el enfoque/la iluminación |
Resultados inconsistentes | Variedad de entrenamiento insuficiente | Agregar más ejemplos diversos |
Paso 9: Configurar la Lógica de Aprobación/Fallo
9.1 Acceder al Bloque IO
- Asegúrese de que el modelo de IA aparezca verde (estado entrenado)
- Navegue al Bloque IO mediante el menú de migas de pan
9.2 Eliminar la Lógica Predeterminada
- Eliminar el nodo 'Classification Block Logic'
- Prepararse para construir una lógica de segmentación personalizada
9.3 Construir Flujo de Segmentación
Crear un flujo de Node-RED con los siguientes componentes:
- Arrastre nodos desde el panel izquierdo:
- Nodo Function (para la lógica)
- Nodo Debug (para pruebas)
- Nodo Final de Aprobación/Fallo
- Conecte los nodos con cables
9.4 Configurar la Lógica Según Sus Necesidades
Opción A: Aprobado si No se Detectan Defectos
Caso de uso: Inspección de calidad donde cualquier característica detectada es un fallo
Código del Nodo Function:
const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1; // Pass if no features found
msg.payload = results;
return msg;
Opción B: Aprobado solo si los Defectos Son Pequeños
Caso de uso: Aceptar defectos menores por debajo de un umbral de tamaño
Código del Nodo Function:
const threshold = 500; // Adjust pixel count threshold
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;
Opción C: Aprobado si el Área Total de Defectos es Pequeña
Caso de uso: Aceptar piezas con área total de defectos limitada
Código del Nodo Function:
const threshold = 5000; // Adjust total pixel threshold
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;
9.5 Configurar el Nodo Function
- Haga doble clic en el nodo Function
- Copie el código apropiado de los ejemplos anteriores
- Pego en la pestaña "On Message"
- Ajuste los valores de umbral para su aplicación
- Haga clic en
Done
9.6 Desplegar y Probar la Lógica
- Haga clic en
Deploy
para activar la lógica - Navegue a HMI para pruebas
- Pruebe con piezas conocidas buenas y malas
- Verifique que los resultados de Aprobado/Fallo coincidan con las expectativas
Paso 10: Validación de Producción
10.1 Pruebas Exhaustivas
Pruebe el sistema de segmentación con:
Caso de Prueba | Resultado Esperado | Acción si Falla |
---|---|---|
Piezas limpias | Aprobado (sin segmentación) | Ajustar umbrales o reentrenar |
Defectos menores | Aprobado/Fallo según sus criterios | Refinar los parámetros de la lógica |
Defectos mayores | Fallo (segmentación clara) | Verifique la precisión del modelo |
Casos límite | Comportamiento consistente | Añadir datos de entrenamiento |
10.2 Validación de Desempeño
Monitoree estas métricas:
- Tiempo de procesamiento por inspección
- Consistencia entre múltiples pruebas
- Precisión con iluminación de producción
- Fiabilidad durante operación extendida
10.3 Ajustes Finales
Si el rendimiento no es satisfactorio:
- Agregar más datos de entrenamiento para casos límite
- Ajustar los valores de umbral en la lógica
- Mejorar las condiciones de imagen
- Reentrenar el modelo con iteraciones adicionales
¡Éxito! Su sistema de segmentación está listo
Ahora tiene un sistema de segmentación operativo que puede:
- Detectar automáticamente características o defectos específicos
- Medir áreas con precisión a nivel de píxel
- Aplicar una lógica de aprobación/fallo personalizada según sus requisitos
- Integrar con sistemas de producción mediante controles I/O
Opciones Avanzadas de Configuración
Lógica de Umbrales Personalizados
Para criterios de aceptación complejos, combine varias condiciones:
const smallThreshold = 200;
const largeThreshold = 1000;
const maxTotalArea = 3000;
const allBlobs = msg.payload.segmentation.blobs;
const smallBlobs = allBlobs.filter(blob => blob.pixel_count < smallThreshold);
const largeBlobs = allBlobs.filter(blob => blob.pixel_count > largeThreshold);
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_c